package com.rybbaby.tss.front.tssClasses.dao;

import com.rybbaby.tss.core.bean.PageBean;
import com.rybbaby.tss.core.web.dao.IGenericDao;
import com.rybbaby.tss.front.tssClasses.entity.TssClasses;

import java.util.List;
import java.util.Map;


/**
 * @author 雷春琼
 * @description 班级表数据库操作接口
 * @createDate 2017-08-09 下午11:50:14
 */
public interface ITssClassesDao extends IGenericDao<TssClasses> {

    /**
     * 批量查询班级信息
     *
     * @param id
     * @return
     */
    List<Map<String, Object>> batchQueryById(String id);

    /**
     * 停用,恢复班级
     *
     * @param targetDateId
     * @param isBlockUp
     * @return
     */
    Integer updateClassByIsBlockUp(String targetDateId, Boolean isBlockUp);

    /**
     * 根据可是查询每节消耗课时数
     *
     * @param lessonId
     * @return
     */
    Integer getExpendClassHour(String lessonId);

    /**
     * app考勤列表分页
     *
     * @param notAttendance
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageBean attendancePageList(String notAttendance, int pageNo, int pageSize);

    /**
     * 查询指定班级人数
     *
     * @param classId
     * @return
     */
    int getStudentCount(String classId);

    /**
     * 获取某个学生的所有班级
     *
     * @param studentId
     */
    List<TssClasses> getStudentClasses(String studentId);


    /***
     *根据班级开始时间，结束时间，上课时间，下课时间，教室，老师，周几上课 校验班级是否课时创建
     * @param startDate
     * @param endDate
     * @param startTime
     * @param endTime
     * @param roomId
     * @param weekDay
     * @param empAdminUerId
     * @return
     */
    Map<String, Object> verificationClass(String startDate, String endDate, String startTime, String endTime, String roomId, String weekDay, String empAdminUerId,String schoolId,Integer type);
}
